x86 firmware: Consolidate firmware common build rules.
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 2 Apr 2008 09:42:27 +0000 (10:42 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 2 Apr 2008 09:42:27 +0000 (10:42 +0100)
Also avoid overriding global optimisation default (-O1, -O2, etc.)

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
tools/firmware/Rules.mk [new file with mode: 0644]
tools/firmware/extboot/Makefile
tools/firmware/hvmloader/Makefile
tools/firmware/hvmloader/acpi/Makefile
tools/firmware/rombios/32bit/Makefile
tools/firmware/rombios/32bit/tcgbios/Makefile
tools/tests/blowfish.mk

diff --git a/tools/firmware/Rules.mk b/tools/firmware/Rules.mk
new file mode 100644 (file)
index 0000000..58b45dc
--- /dev/null
@@ -0,0 +1,15 @@
+# Firmware is a 32-bit target
+override XEN_TARGET_ARCH = x86_32
+
+# User-supplied CFLAGS are not useful here.
+CFLAGS :=
+
+include $(XEN_ROOT)/tools/Rules.mk
+
+# Disable PIE/SSP if GCC supports them. They can break us.
+CFLAGS += $(call cc-option,$(CC),-nopie,)
+CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
+CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
+
+# Extra CFLAGS suitable for an embedded type of environment.
+CFLAGS += -fno-builtin -msoft-float
index fa2b0de17b1097c45feb45459a39cabd7fe1c62a..eec5831c3aef7e2d4b80800360cf21c0a0536853 100644 (file)
@@ -1,15 +1,7 @@
-
-override XEN_TARGET_ARCH = x86_32
 XEN_ROOT = ../../..
-CFLAGS := -I$(XEN_ROOT)/tools/libxc -I.
-include $(XEN_ROOT)/tools/Rules.mk
-
-# Disable PIE/SSP if GCC supports them. They can break us.
-CFLAGS  += $(call cc-option,$(CC),-nopie,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector-all,)
+include $(XEN_ROOT)/tools/firmware/Rules.mk
 
-CFLAGS  += -fno-builtin -O2 -msoft-float
+CFLAGS += -I$(XEN_ROOT)/tools/libxc -I.
 
 .PHONY: all
 all: extboot.bin
index 7373ff492f562129dc1ce417d377eb2609ae6754..3a5b801335b83f16af5eb6cdb877470bcbf39c62 100644 (file)
 # Place - Suite 330, Boston, MA 02111-1307 USA.
 #
 
-override XEN_TARGET_ARCH = x86_32
 XEN_ROOT = ../../..
-CFLAGS :=
-include $(XEN_ROOT)/tools/Rules.mk
+include $(XEN_ROOT)/tools/firmware/Rules.mk
 
 SUBDIRS := acpi
 
 # The HVM loader is started in 32-bit mode at the address below:
 LOADADDR = 0x100000
 
-# Disable PIE/SSP if GCC supports them. They can break us.
-CFLAGS  += $(call cc-option,$(CC),-nopie,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector-all,)
-
-CFLAGS  += -fno-builtin -O2 -msoft-float
-CFLAGS  += $(CFLAGS_include) -I.
+CFLAGS += $(CFLAGS_include) -I.
 
 SRCS = hvmloader.c mp_tables.c util.c smbios.c 32bitbios_support.c
 OBJS = $(patsubst %.c,%.o,$(SRCS))
index 79a49541cea427a7dfd8e629fed723390f5358c3..8ef4d58a7aa3107c6ec198340b45532195764505 100644 (file)
 # Place - Suite 330, Boston, MA 02111-1307 USA.
 #
 
-override XEN_TARGET_ARCH = x86_32
 XEN_ROOT = ../../../..
-CFLAGS :=
-include $(XEN_ROOT)/tools/Rules.mk
+include $(XEN_ROOT)/tools/firmware/Rules.mk
 
 C_SRC = build.c dsdt.c static_tables.c
 H_SRC = $(wildcard *.h)
@@ -27,13 +25,7 @@ OBJS  = $(patsubst %.c,%.o,$(C_SRC))
 IASL_VER = acpica-unix-20060707
 IASL_URL = http://developer.intel.com/technology/iapc/acpi/downloads/$(IASL_VER).tar.gz
 
-# Disable PIE/SSP if GCC supports them. They can break us.
-CFLAGS  += $(call cc-option,$(CC),-nopie,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector-all,)
-
-CFLAGS  += -fno-builtin -O2 -msoft-float
-CFLAGS  += -I. -I.. $(CFLAGS_include)
+CFLAGS += -I. -I.. $(CFLAGS_include)
 
 vpath iasl $(PATH)
 all: acpi.a
index 90d86db0a97f9e814311c600b01ee9c731ba8c31..f42d7f39b503cc2ed33b7468e8c72fabd1a59273 100644 (file)
@@ -1,16 +1,10 @@
-
-override XEN_TARGET_ARCH = x86_32
 XEN_ROOT = ../../../..
-CFLAGS :=
-include $(XEN_ROOT)/tools/Rules.mk
+include $(XEN_ROOT)/tools/firmware/Rules.mk
 
 SOURCES = util.c
 TARGET = 32bitbios_flat.h
 
-CFLAGS += -fno-builtin -O2 -msoft-float -nostdlib
 CFLAGS += -I../ -DGCC_PROTOS
-CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
-CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
 
 SUBDIRS = tcgbios
 
index 9d0aa5ed0c46617e2384ccb8c008cea9d599b8a1..e272f288f69d66d05d7a85a9e7d0042139c9d1a6 100644 (file)
@@ -1,16 +1,10 @@
-
-override XEN_TARGET_ARCH = x86_32
 XEN_ROOT = ../../../../..
-CFLAGS :=
-include $(XEN_ROOT)/tools/Rules.mk
+include $(XEN_ROOT)/tools/firmware/Rules.mk
 
 TARGET  = tcgbiosext.o
 FILES   = tcgbios tpm_drivers
 OBJECTS = $(foreach f,$(FILES),$(f).o)
 
-CFLAGS += -fno-builtin -O2 -msoft-float -nostdlib
-CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
-CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
 CFLAGS += -I../ -I../../ -DGCC_PROTOS
 
 .PHONY: all clean
index ecad7836a47f01cbb55794d82edb889e9ef9c7b0..dfd7bd2be8f46b6c677228f076ffefe465ffd0d6 100644 (file)
@@ -5,11 +5,11 @@ CFLAGS :=
 include $(XEN_ROOT)/tools/Rules.mk
 
 # Disable PIE/SSP if GCC supports them. They can break us.
-CFLAGS  += $(call cc-option,$(CC),-nopie,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector-all,)
+CFLAGS += $(call cc-option,$(CC),-nopie,)
+CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
+CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
 
-CFLAGS  += -fno-builtin -O2 -msoft-float
+CFLAGS += -fno-builtin -msoft-float
 
 .PHONY: all
 all: blowfish.bin